package com.cycplus.test.ui

import android.graphics.Bitmap

const val MEDIA_TYPE_PHOTO = 1
const val MEDIA_TYPE_VIDEO = 2

enum class HighLightType {
    HIGH_LIGHT_TYPE_POWER,
    HIGH_LIGHT_TYPE_HEART_RATE,
    HIGH_LIGHT_TYPE_CADENCE,
    HIGH_LIGHT_TYPE_SPEED,
    HIGH_LIGHT_TYPE_CUSTOM,
}

enum class DefaultTimeRangeEnum {
    RANGE_10_SEC,
    RANGE_20_SEC,
    RANGE_30_SEC,
}

data class HighLightMoment(
    /**
     * 高光时刻类型
     */
    var type: HighLightType,
    /**
     * 高光时刻的运动数据值
     */
    var value: Float,
    /**
     * 高光片段开始时间 单位s
     */
    var startTimestamp: Float,
    /**
     * 高光时刻具体时间点
     */
    var highLightSec: Float,
    /**
     * 高光片段结束时间
     */
    var endTimestamp: Float,
    /**
     * 高光片段长度
     */
    var duration: Float,
    /**
     * 高光左边片段时长
     */
    var durationLeft: Float,
    /**
     * 高光右边片段时长
     */
    var durationRight: Float,
    /**
     * 高光时刻的视频封面
     */
    @Transient
    var thumbnail: Bitmap? = null,
    /**
     * 高光片段的播放进度
     */
    @Transient
    var playProgress: Int = 0,
    /**
     * 是否导出该高光片段
     */
    @Transient
    var checked: Boolean = true,
    /**
     * 是否正在播放该高光片段
     */
    @Transient
    var isPlaying: Boolean = false,
    /**
     * 是否是片头
     */
    var isStartSlice: Boolean = false,

    var defaultTimeRange: DefaultTimeRangeEnum = DefaultTimeRangeEnum.RANGE_10_SEC
) {
    fun isTheSame(highLightmonent: HighLightMoment): Boolean {
        return highLightmonent.type == this.type
            && highLightmonent.startTimestamp == this.startTimestamp
            && highLightmonent.highLightSec == this.highLightSec
            && highLightmonent.endTimestamp == this.endTimestamp
    }
}